You can use non-field validators for server side validation in your application as.
<validator type="expression"> <param name="fieldName">userName</param> <message>You must enter the User Name</message> </validator>
login.jsp
<%@ taglib prefix="s" uri="/struts-tags"%> <link href="<s:url value="css/style.css"/>" rel="stylesheet" type="text/css" /> <s:actionerror /> <center> <h1>Please Login</h1> </center> <s:form method="POST" action="nonField"> <s:textfield name="userName" label="User Name" /> <s:textfield name="password" label="Password" /> <s:submit label="Submit" /> </s:form>
home.jspADS_TO_REPLACE_1
<%@ taglib prefix="s" uri="/struts-tags" %> <html> <head> <title>Home Page</title> </head> <body bgcolor="lightblue"><br><br><br><br><br> <h1>Welcome </h1><s:property value="userName"/> </body> </html>
SampleInterfaceImp.java
package net.roseindia.model; import java.io.Serializable; public class LoginModel implements Serializable { private static final long serialVersionUID = 1L; private String userName; private String password; public String getUserName() { return userName; } public void setUserName(String userName) { this.userName = userName; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public String display(){ return "input"; } }
LoginAction.java
package net.roseindia.action; import net.roseindia.model.LoginModel; import com.opensymphony.xwork2.ActionSupport; import com.opensymphony.xwork2.ModelDriven; public class LoginAction extends ActionSupport implements ModelDriven<LoginModel> { private static final long serialVersionUID = 1L; LoginModel model; @Override public String execute() throws Exception { // TODO Auto-generated method stub if (!model.getUserName().equals("")) { return SUCCESS; } return INPUT; } @Override public LoginModel getModel() { // TODO Auto-generated method stub model = new LoginModel(); return model; } }
LoginAction-validation.xmlADS_TO_REPLACE_2
<%@ taglib prefix="s" uri="/struts-tags" %> <html> <head> <title>Home Page</title> </head> <body bgcolor="lightblue"><br><br><br><br><br> <h1>Welcome </h1><s:property value="userName"/> </body> </html><!DOCTYPE validators PUBLIC "-//OpenSymphony Group//XWork Validator 1.0.2//EN" "http://www.opensymphony.com/xwork/xwork-validator-1.0.2.dtd"> <validators> <validator type="expression"> <param name="fieldName">userName</param> <message>You must enter the User Name</message> </validator> <validator type="expression"> <param name="fieldName">password</param> <message>You must enter Password</message> </validator> </validators>
SampleInterfaceImp.java
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd"> <struts> <constant name="struts.custom.i18n.resources" value="global" /> <constant name="struts.devMode" value="true" /> <package name="roseindia" namespace="/" extends="struts-default"> <action name="login" method="display" class="net.roseindia.model.LoginModel"> <result name="input">resources/login.jsp</result> </action> <action name="nonField" class="net.roseindia.action.LoginAction"> <result name="success">resources/home.jsp</result> <result name="input">resources/login.jsp</result> </action> </package> </struts>
Advertisements
Ads
Ads